package com.fuyun.rpc.common.constant;

/**
 * @author: zrq1351
 * @date: 2025/2/14
 */
public interface RpcConstant {

	/**
	 * 默认配置文件加载前缀
	 */
	String DEFAULT_CONFIG_PREFIX = "fuyun.rpc";

	/**
	 * 默认服务版本
	 */
	String DEFAULT_SERVICE_VERSION = "1.0";

	/**
	 * 序列化器键名
	 */
	interface SerializerKeys {

		String JDK = "com.zrq.rpc.serializer.JdkSerializer";
		String JSON = "com.zrq.rpc.serializer.JsonSerializer";
		String KRYO = "com.zrq.rpc.serializer.KryoSerializer";
		String HESSIAN = "com.zrq.rpc.serializer.HessianSerializer";

	}

	interface RegistryKeys {
		// todo zookeeper

		// ETCD
		String ETCD = "com.zrq.rpc.registry.EtcdRegistry";

	}

	interface LoadBalancerKeys {

		String ROUND_ROBIN = "com.zrq.rpc.loadbalancing.RandomLoadBalancer";

	}

	interface TolerantStrategyKeys {

		String RETRY = "com.zrq.rpc.fault.tolerant.FailFastTolerantStrategy";
	}

}